package com.test.io.printStreamWriter;

import org.junit.Test;

import java.io.IOException;
import java.io.PrintStream;

/**
 * @version 1.0
 * @Author: 许啸林 字节打印流的使用  控制台打印 文件打印等, 打印流只有输入流没有输入流
 * @Date: 2021/6/4 14:02
 */
public class PrintStreamDemo {
    // 使用 printStream 进行控制台打印
    @Test
    public void printConsole() {

        PrintStream  ps =  System.out;
        /**
         * print 方法内调用 wirite, 也可用write方法进行直接输出
         */
        try {
            ps.print("绿蚁新醅酒,红泥小火炉");
            ps.println();
            ps.write("晚来天欲雪,能饮一杯无".getBytes());
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            ps.close();
        }
    }

    // 使用 printStream 向指定文件打印
    @Test
    public void printFile() {
        PrintStream ps = null;
        try {
            System.setOut(new PrintStream("d:\\printFile.text"));
            ps = System.out;
            ps.print("绿蚁新醅酒,红泥小火炉");
            ps.println();
            ps.write("晚来天欲雪,能饮一杯无".getBytes());
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if(ps != null) {
                ps.close();
            }
        }
    }
}
